package com.ymkyve.complex.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 继承于javax.servlet.http.HttpServlet抽象类编写Servlet， 用来通知访问者服务器的当前时间。
 *  http://127.0.0.1:8080/test.timer
 * @author Allanlxf(刘新福)
 */
@SuppressWarnings("serial")
public class TimeHttpServlet extends HttpServlet {
    /**
     * Servlet的服务方法，用来处理客户端的get请求，由Servlet容器调用。
     * 当Servlet容器接收到一个来自客户端的get请求时，调用该方法。 本类中，该方法输出服务器的当前时间到客户端。
     * 
     * @param request 包含了客户端请求信息的HttpServletRequest类型的对象。
     * @param response 代表服务器到客户端响应信息的HttpServletResponse类型的对象。
     * @throws ServletException 当Servlet无法提供服务时。
     * @throws IOException 输入输出错误发生时。
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=gbk");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("  <title>current time of web server</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h3 align=\"center\">Current Time Of The Web Server</h3>");
        out.println("<hr size=\"10\" color=\"#FF0000\">");
        out.println("<center>" + new java.util.Date() + "</center>");
        out.println("</body>");
        out.println("</html>");
    }

    /**
     * Servlet的服务方法，用来处理客户端的post请求，由Servlet容器调用。
     * 当Servlet容器接收到一个来自客户端的post请求时，调用该方法。 本类中，该方法通过调用doGet来输出服务器的当前时间到客户端。
     * 
     * @param request 包含了客户端请求信息的HttpServletRequest类型的对象。
     * @param response 代表服务器到客户端响应信息的HttpServletResponse类型的对象。
     * @throws ServletException 当Servlet无法提供服务时。
     * @throws IOException 输入输出错误发生时。
     */
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}
